Automatic parallelization of nested loop programs for non-manifest real-time stream processing applications
نویسنده
چکیده
This thesis is concerned with the automatic parallelization of real-time stream processing applications, such that they can be executed on embedded multiprocessor systems. Stream processing applications can be encountered in the channel decoding and video decoding domain. These applications typically have real-time requirements. Important trends for stream processing applications are that they become more computational intensive and that they contain more non-manifest conditions and expressions. For nonmanifest conditions and expressions, the behavior is unknown at compile time. Stream processing applications are often executed on multiprocessor systems. Because stream processing applications become more computational intensive, the number of processors in these systems increases. Due to the increasing number of processors, the mapping effort for stream processing applications onto these systems increases. Furthermore, the validation effort for stream processing applications on such systems increases, because the satisfaction of temporal constraints has to be validated for an application that is executed on multiple processors. To map stream processing applications onto a multiprocessor system, we use a multiprocessor compiler. We consider multiprocessor compilers that perform automatic parallelization. Otherwise, the user should perform the partitioning of the application manually, which can be time-consuming and error-prone. For our application domain, we focus on the extraction of function parallelism, because it is often available in stream processing applications. Stream processing applications contain function parallelism, because they are often composed of functions that can be executed independently from each other. The extraction of parallelism requires the derivation of data dependencies in an application. These data dependencies indicate the execution order of the tasks. If the data dependencies between two statements cannot be determined at compile time, then these statements can often not be executed in parallel.
منابع مشابه
Parallelization of While-Loops in Nested Loop Programs for Real-time Multiprocessor Systems
Many applications with stream processing behavior contain one or more loops with an unknown number of iterations. These loops have to be parallelized in order to utilize the maximum capacity of an embedded multiprocessor platform and thus increase the total throughput. This thesis presents a method to automatically extract a parallel task graph based on function level parallelism from a sequent...
متن کاملComputer Science Technical Report Automatic Parallelization of “Inherently Sequential” Nested Loop Programs
Most automatic parallelizers are based on detection of independent operations, and most of them cannot do anything if there is a true dependence between operations. However, there exists a class of programs, for which this can be surmounted based on the nature of the operations. The standard and obvious cases are reductions and scans (prefix computations), which normally occur within loops. We ...
متن کاملAutomatic Parallelization of Non-uniform Dependences
This report summarizes our current experiences with Automatic Program Parallelization tools for converting sequential Fortran code for use on a multiprocessor computer. A number of such tools were evaluated, including Parafrase, Adaptor, PAT, Petit and the SUIF compiler package. We evaluated the suitability of such tools for parallelizing Computational Fluid Dynamics code supplied by the Army R...
متن کاملQuantifier Elimination in Automatic Loop Parallelization
We present an application of quantifier elimination techniques in the automatic parallelization of nested loop programs. The technical goal is to simplify affine inequalities whose coefficients may be unevaluated symbolic constants. The values of these so-called structure parameters are determined at run time and reflect the problem size. Our purpose here is to make the research community of qu...
متن کاملParametric Analysis of Polyhedral Iteration
In the area of automatic parallelization of programs, analyzing and transforming loop nests with parametric aane loop bounds requires fundamental mathematical results. The most common geometrical model of iteration spaces, called the polytope model, is based on mathematics dealing with convex and discrete geometry, linear programming, combinatorics and geometry of numbers. In this paper, we pre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011